﻿using Abp.Application.Services;
using FwProject.Settlement.Dto;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using X.PagedList;

namespace FwProject.Settlement
{
    public interface ISettlementAccountAppService : IApplicationService
    {
        Task<SettlementAccountOutputDto> GetByIdAsync(Guid id);

        Task<IPagedList<SettlementAccountOutputDto>> GetPagedListAsync(int pageIdx, int pageSize, string keyword);

        Task<List<SettlementAccountOutputDto>> GetAllSettlementAccountAsync();

        Task<SettlementAccountEnterDto> GetEnterDto(Guid id);

        Task<Guid> CreateAsync(SettlementAccountEnterDto input);

        Task ModifyAsync(Guid id, SettlementAccountEnterDto input);

        Task DeleteAsync(Guid id);

        Task<List<CapitalPoolDto>> GetCapitalPoolListAsync(DateTime? date);
    }
}
